﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Drawing;
using SRP_LibBusinessRules;
using SRPCENTRIA.Code;

namespace SRPCENTRIA.ws_app
{
    public partial class wInformacionPersonas : BasePage
    {
        DataTable tablaInfPersEjecutivo = new DataTable("tablaInfPersEjecutivo");
        DataTable tablaInfPersPropietario = new DataTable("tablaInfPersPropietario");
        DataTable tablaInfPersLegales = new DataTable("tablaInfPersLegales");
        DataTable tablaInfPersPersonas = new DataTable("tablaInfPersPersonas");

        DataTable SRPT_INFORMACION_CONTACTO = Constanst.TablasProveedor.SRPT_INFORMACION_CONTACTO();


        protected void Page_Load(object sender, EventArgs e)
        {
            session_InfPersEjecutivo();
            session_InfPersPropietario();
            session_InfPersLegales();
            session_InfPersPersonas();
            if (!Page.IsPostBack)
            {

                GvgInfPersEjecutivo.DataSource = tablaInfPersEjecutivo;
                GvgInfPersEjecutivo.DataBind();
                OcultarTablaEjecutivo();

                GvgInfPersPropietario.DataSource = tablaInfPersPropietario;
                GvgInfPersPropietario.DataBind();
                OcultarTablaPropietario();

                GvgInfPersLegales.DataSource = tablaInfPersLegales;
                GvgInfPersLegales.DataBind();
                OcultarTablaLegales();

                GvgInfPersPersonas.DataSource = tablaInfPersPersonas;
                GvgInfPersPersonas.DataBind();
                OcultarTablaPersonas();
            }
        }

        #region --- Session InfPersEjecutivo ----
        private void session_InfPersEjecutivo()
        {
            if (Session["tablaInfPersEjecutivo"] == null)
            {
                Session["tablaInfPersEjecutivo"] = tablaInfPersEjecutivo;
                MostrarTabla_InfPersEjecutivo();
                OcultarTablaEjecutivo();
            }
            else
            {
                tablaInfPersEjecutivo = (DataTable)Session["tablaInfPersEjecutivo"];

            }
        }
        #endregion
        #region -- Tabla Información Persona Ejecutivo--
        private void MostrarTabla_InfPersEjecutivo()
        {
            //------ Creando Colunar para la Tabla ---------------------------
            tablaInfPersEjecutivo.Columns.Add(new DataColumn("colCargEjecE", Type.GetType("System.String")));
            tablaInfPersEjecutivo.Columns.Add(new DataColumn("colTipIdentE", Type.GetType("System.String")));
            tablaInfPersEjecutivo.Columns.Add(new DataColumn("colNumIdentE", Type.GetType("System.String")));
            tablaInfPersEjecutivo.Columns.Add(new DataColumn("colApellidoE", Type.GetType("System.String")));
            tablaInfPersEjecutivo.Columns.Add(new DataColumn("colNombreE", Type.GetType("System.String")));
            //------------- -------------------------------------------------------------
            tablaInfPersEjecutivo.Columns.Add(new DataColumn("colCodTipIdentE", Type.GetType("System.String")));
            tablaInfPersEjecutivo.Columns.Add(new DataColumn("colCodCargEjecE", Type.GetType("System.String")));
            //------------- -------------------------------------------------------------
            tablaInfPersEjecutivo.Columns.Add(new DataColumn("colCodTipPersonaE", Type.GetType("System.String")));
            tablaInfPersEjecutivo.Columns.Add(new DataColumn("colNumIdet", Type.GetType("System.String")));
            //------------- -------------------------------------------------------------
            DataRow filaE = tablaInfPersEjecutivo.NewRow();
            tablaInfPersEjecutivo.Rows.Add(filaE);
            GvgInfPersEjecutivo.DataSource = tablaInfPersEjecutivo;
            GvgInfPersEjecutivo.DataBind();
            tablaInfPersEjecutivo.Dispose();
          
        }
        #endregion
        #region -- Ejecutivo ----
        protected void GvgInfPersEjecutivo_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.Footer)
            {
                NGenerico objwsGeneric = new NGenerico();
                DropDownList DllGvgTipIdentE;
                DllGvgTipIdentE = (DropDownList)e.Row.FindControl("DllGvgTipIdentE");

                DllGvgTipIdentE.DataSource = objwsGeneric.ListarTip_Iden("1");
                DllGvgTipIdentE.DataTextField = "VTIP_DESCRIPCION_TIPO_IDENTIFICACION";
                DllGvgTipIdentE.DataValueField = "VTIP_CODIGO_TIPO_IDENTIFICACION";
                DllGvgTipIdentE.DataBind();

                DropDownList DllGvgCargEjecE;
                DllGvgCargEjecE = (DropDownList)e.Row.FindControl("DllGvgCargEjecE");

                DllGvgCargEjecE.DataSource = objwsGeneric.ListarCarg_Ejec();
                DllGvgCargEjecE.DataTextField = "VCAR_DESC_CAR_EJE";
                DllGvgCargEjecE.DataValueField = "VCAR_CODIGO_CARGO_EJE";
                DllGvgCargEjecE.DataBind();

            }
        }
        protected void btnInfPersEjecutivo_Click(object sender, EventArgs e)
        {

            GridViewRow filaGrillaE = GvgInfPersEjecutivo.FooterRow;
            DataRow filaE = tablaInfPersEjecutivo.NewRow();
            if (GvgInfPersEjecutivo.Rows.Count == 0)
            {

                filaE["colCargEjecE"] = "";
                filaE["colTipIdentE"] = "";
                filaE["colNumIdentE"] = "";
                filaE["colApellidoE"] = "";
                filaE["colNombreE"] = "";
                //------------- -------------------------------------------------------------
                filaE["colCodTipIdentE"] = "";
                filaE["colCodCargEjecE"] = "";
                //------------- --------
                filaE["colCodTipPersonaE"] = "";
                filaE["colNumIdet"] = "";
                //------------- --------
            }
            else
            {
                filaE["colCargEjecE"] = ((DropDownList)filaGrillaE.FindControl("DllGvgCargEjecE")).SelectedItem.Text;
                filaE["colTipIdentE"] = ((DropDownList)filaGrillaE.FindControl("DllGvgTipIdentE")).SelectedItem.Text;
                filaE["colNumIdentE"] = ((TextBox)filaGrillaE.FindControl("txtGvgNumIdentE")).Text.Trim();
                filaE["colApellidoE"] = ((TextBox)filaGrillaE.FindControl("txtGvgApellidoE")).Text.Trim();
                filaE["colNombreE"] = ((TextBox)filaGrillaE.FindControl("txtGvgNombreE")).Text.Trim();
                //------------- -------------------------------------------------------------
                filaE["colCodCargEjecE"] = ((DropDownList)filaGrillaE.FindControl("DllGvgCargEjecE")).SelectedValue.ToString();
                filaE["colCodTipIdentE"] = ((DropDownList)filaGrillaE.FindControl("DllGvgTipIdentE")).SelectedValue.ToString();
                //------------- -------------------------------------------------------------
                #region -- codigo Mejorar - Codigo generado --
                string codInfPersEjecutivo;
                codInfPersEjecutivo = (Constanst.Tipo_PER_Ejecutivo);
                #endregion
                filaE["colCodTipPersonaE"] = codInfPersEjecutivo;
                filaE["colNumIdet"] = Session["colNumIdet"].ToString();
                //------------- -------------------------------------------------------------
            }
            int Estado = new int();
            if (ValiCampEjecutivo(Estado) == 0)
            {
                return;
            }
            QuitarTablaEjecutivo();
            tablaInfPersEjecutivo.Rows.Add(filaE);
            GvgInfPersEjecutivo.DataSource = tablaInfPersEjecutivo;
            GvgInfPersEjecutivo.DataBind();
        }
        #endregion
        #region --- Validar Campos Ejecutivo ---
        private int ValiCampEjecutivo(Int32 Estado)
        {
            GridViewRow filaGrillaValE = GvgInfPersEjecutivo.FooterRow;
            string colCargEjecE = ((DropDownList)filaGrillaValE.FindControl("DllGvgCargEjecE")).SelectedValue.ToString();
            string colTipIdentE = ((DropDownList)filaGrillaValE.FindControl("DllGvgTipIdentE")).SelectedValue.ToString();
            string colNumIdentE = ((TextBox)filaGrillaValE.FindControl("txtGvgNumIdentE")).Text.Trim();
            string colApellidoE = ((TextBox)filaGrillaValE.FindControl("txtGvgApellidoE")).Text.Trim();
            string colNombreE = ((TextBox)filaGrillaValE.FindControl("txtGvgNombreE")).Text.Trim();

            if (colCargEjecE == "0")
            {
                EscribirScriptManager("Favor de seleccionar cargo");
                //lblError.Text = "Favor de seleccionar cargo";
                //lblError.Visible = true;
                ((DropDownList)filaGrillaValE.FindControl("DllGvgCargEjecE")).Focus();
                return Estado = 0;
            }
            if (colTipIdentE == "0")
            {
                EscribirScriptManager("Favor de seleccionar tipo de identidad");
                //lblError.Text = "Favor de seleccionar tipo de identidad";
                //lblError.Visible = true;
                ((DropDownList)filaGrillaValE.FindControl("DllGvgTipIdentE")).Focus();
                return Estado = 0;
            }

            if (colNumIdentE.Trim() == "")
            {
                EscribirScriptManager("Favor de ingresar número");
                //lblError.Text = "Favor de ingresar numero";
                //lblError.Visible = true;
                ((TextBox)filaGrillaValE.FindControl("txtGvgNumIdentE")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValE.FindControl("txtGvgNumIdentE")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValE.FindControl("txtGvgNumIdentE")).BackColor = Color.White; }

            if (Valida_identidad(Estado, colNumIdentE, colTipIdentE) == 0)
            {
                ((TextBox)filaGrillaValE.FindControl("txtGvgNumIdentE")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValE.FindControl("txtGvgNumIdentE")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValE.FindControl("txtGvgNumIdentE")).BackColor = Color.White; }


            if (colApellidoE.Trim() == "")
            {
                EscribirScriptManager("Favor de ingresar apellido");
                //lblError.Text = "Favor de ingresar apellido";
                //lblError.Visible = true;
                ((TextBox)filaGrillaValE.FindControl("txtGvgApellidoE")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValE.FindControl("txtGvgApellidoE")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValE.FindControl("txtGvgApellidoE")).BackColor = Color.White; }

            if (colNombreE.Trim() == "")
            {
                EscribirScriptManager("Favor de ingresar nombre");
                //lblError.Text = "Favor de ingresar nombre";
                //lblError.Visible = true;
                ((TextBox)filaGrillaValE.FindControl("txtGvgNombreE")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValE.FindControl("txtGvgNombreE")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValE.FindControl("txtGvgNombreE")).BackColor = Color.White; }

            //lblError.Visible = false;
            return Estado = 1;
        }
        #endregion
        #region -- Quitar fila Ejecutivo  --
        private void QuitarTablaEjecutivo()
        {
            string celda1;
            celda1 = tablaInfPersEjecutivo.Rows[0].ItemArray[tablaInfPersEjecutivo.Columns["colNumIdentE"].Ordinal].ToString();
            if (celda1 == "")
            {
                tablaInfPersEjecutivo.Rows.RemoveAt(0);
            }

        }
        #endregion
        #region -- Ocultar fila Ejecutivo  --
        private void OcultarTablaEjecutivo()
        {
            string celda1;
            celda1 = tablaInfPersEjecutivo.Rows[0].ItemArray[tablaInfPersEjecutivo.Columns["colNumIdentE"].Ordinal].ToString();
            if (celda1 == "")
            {
                GvgInfPersEjecutivo.Rows[0].Visible = false;
            }
        }
        #endregion


        #region --- Session InfPersPropietario ----
        private void session_InfPersPropietario()
        {
            if (Session["tablaInfPersPropietario"] == null)
            {
                Session["tablaInfPersPropietario"] = tablaInfPersPropietario;
                MostrarTabla_InfPersPropietario();
                OcultarTablaPropietario();
            }
            else
            {
                tablaInfPersPropietario = (DataTable)Session["tablaInfPersPropietario"];

            }
        }
        #endregion
        #region -- Tabla Información Persona Propietario--
        private void MostrarTabla_InfPersPropietario()
        {
            //------ Creando Colunar para la Tabla ---------------------------
            tablaInfPersPropietario.Columns.Add(new DataColumn("colTipIdentP", Type.GetType("System.String")));
            tablaInfPersPropietario.Columns.Add(new DataColumn("colNumIdentP", Type.GetType("System.String")));
            tablaInfPersPropietario.Columns.Add(new DataColumn("colApellidosP", Type.GetType("System.String")));
            tablaInfPersPropietario.Columns.Add(new DataColumn("colNombresP", Type.GetType("System.String")));
            //------------- -------------------------------------------------------------
            tablaInfPersPropietario.Columns.Add(new DataColumn("colCodTipIdentP", Type.GetType("System.String")));
            //------------- -------------------------------------------------------------
            tablaInfPersPropietario.Columns.Add(new DataColumn("colCodTipPersonaP", Type.GetType("System.String")));
            tablaInfPersPropietario.Columns.Add(new DataColumn("colNumIdet", Type.GetType("System.String")));
            //------------- -------------------------------------------------------------
            DataRow filaP = tablaInfPersPropietario.NewRow();
            tablaInfPersPropietario.Rows.Add(filaP);
            GvgInfPersPropietario.DataSource = tablaInfPersPropietario;
            GvgInfPersPropietario.DataBind();
            tablaInfPersPropietario.Dispose();
           
        }
        #endregion
        #region -- Propietario ----
        protected void btnInfPersPropietario_Click(object sender, EventArgs e)
        {
            GridViewRow filaGrillaP = GvgInfPersPropietario.FooterRow;
            DataRow filaP = tablaInfPersPropietario.NewRow();
            if (GvgInfPersPropietario.Rows.Count == 0)
            {
                filaP["colTipIdentP"] = "";
                filaP["colNumIdentP"] = "";
                filaP["colApellidosP"] = "";
                filaP["colNombresP"] = "";
                //------------- -------------------------------------------------------------
                filaP["colCodTipIdentP"] = "";
                //------------- --------
                filaP["colCodTipPersonaP"] = "";
                filaP["colNumIdet"] = "";
            }
            else
            {

                filaP["colTipIdentP"] = ((DropDownList)filaGrillaP.FindControl("dllGvgTipIdentP")).SelectedItem.Text.Trim();
                filaP["colNumIdentP"] = ((TextBox)filaGrillaP.FindControl("txtGvgNumIdentP")).Text.Trim();
                filaP["colApellidosP"] = ((TextBox)filaGrillaP.FindControl("txtGvgApellidosP")).Text.Trim();
                filaP["colNombresP"] = ((TextBox)filaGrillaP.FindControl("txtGvgNombresP")).Text.Trim();
                //------------- -------------------------------------------------------------
                filaP["colCodTipIdentP"] = ((DropDownList)filaGrillaP.FindControl("dllGvgTipIdentP")).SelectedValue.ToString();
                //------------- -------------------------------------------------------------
                #region -- codigo Mejorar - Codigo generado --
                string codInfPersPropietario;
                codInfPersPropietario = (Constanst.Tipo_PER_Propietario);
                #endregion
                filaP["colCodTipPersonaP"] = codInfPersPropietario;
                filaP["colNumIdet"] = Session["colNumIdet"].ToString();
            }
            int Estado = new int();
            if (ValiCampPropietario(Estado) == 0)
            {
                return;
            }
            QuitarTablaPropietario();
            tablaInfPersPropietario.Rows.Add(filaP);
            GvgInfPersPropietario.DataSource = tablaInfPersPropietario;
            GvgInfPersPropietario.DataBind();
        }
        protected void GvgInfPersPropietario_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.Footer)
            {
                NGenerico objwsGeneric = new NGenerico();
                DropDownList dllGvgTipIdentP;
                dllGvgTipIdentP = (DropDownList)e.Row.FindControl("dllGvgTipIdentP");

                dllGvgTipIdentP.DataSource = objwsGeneric.ListarTip_Iden("1");
                dllGvgTipIdentP.DataTextField = "VTIP_DESCRIPCION_TIPO_IDENTIFICACION";
                dllGvgTipIdentP.DataValueField = "VTIP_CODIGO_TIPO_IDENTIFICACION";
                dllGvgTipIdentP.DataBind();

            }
        }
        #endregion
        #region --- Validar Campos Propietario ---
        private int ValiCampPropietario(Int32 Estado)
        {
            GridViewRow filaGrillaValP = GvgInfPersPropietario.FooterRow;
            string colTipIdentP = ((DropDownList)filaGrillaValP.FindControl("dllGvgTipIdentP")).SelectedValue.ToString();
            string colNumIdentP = ((TextBox)filaGrillaValP.FindControl("txtGvgNumIdentP")).Text;
            string colApellidosP = ((TextBox)filaGrillaValP.FindControl("txtGvgApellidosP")).Text;
            string colNombresP = ((TextBox)filaGrillaValP.FindControl("txtGvgNombresP")).Text;

            if (colTipIdentP == "0")
            {
                EscribirScriptManager("Favor de seleccionar tipo de identidad");
                //lblError.Text = "Favor de seleccionar tipo de identidad";
                //lblError.Visible = true;
                ((DropDownList)filaGrillaValP.FindControl("dllGvgTipIdentP")).Focus();
                return Estado = 0;
            }

            if (colNumIdentP.Trim() == "")
            {
                EscribirScriptManager("Favor de ingresar número");
                //lblError.Text = "Favor de ingresar número";
                //lblError.Visible = true;
                ((TextBox)filaGrillaValP.FindControl("txtGvgNumIdentP")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValP.FindControl("txtGvgNumIdentP")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValP.FindControl("txtGvgNumIdentP")).BackColor = Color.White; }

            if (Valida_identidad(Estado, colNumIdentP, colTipIdentP) == 0)
            {
                ((TextBox)filaGrillaValP.FindControl("txtGvgNumIdentP")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValP.FindControl("txtGvgNumIdentP")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValP.FindControl("txtGvgNumIdentP")).BackColor = Color.White; }

            if (colApellidosP.Trim() == "")
            {
                EscribirScriptManager("Favor de ingresar apellido");
                //lblError.Text = "Favor de ingresar apellido";
                //lblError.Visible = true;
                ((TextBox)filaGrillaValP.FindControl("txtGvgApellidosP")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValP.FindControl("txtGvgApellidosP")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValP.FindControl("txtGvgApellidosP")).BackColor = Color.White; }

            if (colNombresP.Trim() == "")
            {
                EscribirScriptManager("Favor de ingresar nombre");
                //lblError.Text = "Favor de ingresar nombre";
                //lblError.Visible = true;
                ((TextBox)filaGrillaValP.FindControl("txtGvgNombresP")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValP.FindControl("txtGvgNombresP")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValP.FindControl("txtGvgNombresP")).BackColor = Color.White; }

            //lblError.Visible = false;
            return Estado = 1;

        }
        #endregion
        #region -- Quitar fila Propietario  --
        private void QuitarTablaPropietario()
        {
            string celda1;
            celda1 = tablaInfPersPropietario.Rows[0].ItemArray[tablaInfPersPropietario.Columns["colNumIdentP"].Ordinal].ToString();
            if (celda1 == "")
            {
                tablaInfPersPropietario.Rows.RemoveAt(0);
            }

        }
        #endregion
        #region -- Ocultar fila Propietario  --
        private void OcultarTablaPropietario()
        {
            string celda1;
            celda1 = tablaInfPersPropietario.Rows[0].ItemArray[tablaInfPersPropietario.Columns["colNumIdentP"].Ordinal].ToString();
            if (celda1 == "")
            {
                GvgInfPersPropietario.Rows[0].Visible = false;
            }
        }
        #endregion



        #region --- Session InfPersLegales ----
        private void session_InfPersLegales()
        {
            if (Session["tablaInfPersLegales"] == null)
            {
                Session["tablaInfPersLegales"] = tablaInfPersLegales;
                MostrarTabla_InfPersLegales();
                OcultarTablaLegales();
            }
            else
            {
                tablaInfPersLegales = (DataTable)Session["tablaInfPersLegales"];

            }
        }
        #endregion
        #region -- Tabla Información Persona Legales--
        private void MostrarTabla_InfPersLegales()
        {
            //------ Creando Colunar para la Tabla ---------------------------
            tablaInfPersLegales.Columns.Add(new DataColumn("colTipIdentL", Type.GetType("System.String")));
            tablaInfPersLegales.Columns.Add(new DataColumn("colNumIdentL", Type.GetType("System.String")));
            tablaInfPersLegales.Columns.Add(new DataColumn("colApellidosL", Type.GetType("System.String")));
            tablaInfPersLegales.Columns.Add(new DataColumn("colNombresL", Type.GetType("System.String")));
            //------------- -------------------------------------------------------------
            tablaInfPersLegales.Columns.Add(new DataColumn("colCodTipIdentL", Type.GetType("System.String")));
            //------------- -------------------------------------------------------------
            tablaInfPersLegales.Columns.Add(new DataColumn("colCodTipPersonaL", Type.GetType("System.String")));
            tablaInfPersLegales.Columns.Add(new DataColumn("colNumIdet", Type.GetType("System.String")));
            //------------- -------------------------------------------------------------
            DataRow filaL = tablaInfPersLegales.NewRow();
            tablaInfPersLegales.Rows.Add(filaL);
            GvgInfPersLegales.DataSource = tablaInfPersLegales;
            GvgInfPersLegales.DataBind();
            tablaInfPersLegales.Dispose();
 
        }
        #endregion
        #region -- Legales ----
        protected void btnInfPersLegales_Click(object sender, EventArgs e)
        {

            GridViewRow filaGrillaL = GvgInfPersLegales.FooterRow;
            DataRow filaL = tablaInfPersLegales.NewRow();
            if (GvgInfPersLegales.Rows.Count == 0)
            {
                filaL["colTipIdentL"] = "";
                filaL["colNumIdentL"] = "";
                filaL["colApellidosL"] = "";
                filaL["colNombresL"] = "";
                //------------- -------------------------------------------------------------
                filaL["colCodTipIdentL"] = "";
                //------------- --------
                filaL["colCodTipPersonaL"] = "";
                filaL["colNumIdet"] = "";
                //------------- --------
            }
            else
            {

                filaL["colTipIdentL"] = ((DropDownList)filaGrillaL.FindControl("dllGvgTipIdentL")).SelectedItem.Text.Trim();
                filaL["colNumIdentL"] = ((TextBox)filaGrillaL.FindControl("txtGvgNumIdentL")).Text.Trim();
                filaL["colApellidosL"] = ((TextBox)filaGrillaL.FindControl("txtGvgApellidosL")).Text.Trim();
                filaL["colNombresL"] = ((TextBox)filaGrillaL.FindControl("txtGvgNombresL")).Text.Trim();
                //------------- -------------------------------------------------------------
                filaL["colCodTipIdentL"] = ((DropDownList)filaGrillaL.FindControl("dllGvgTipIdentL")).SelectedValue.ToString();
                //------------- -------------------------------------------------------------
                #region -- codigo Mejorar - Codigo generado --
                string codInfPersLegales;
                codInfPersLegales = (Constanst.Tipo_PER_Legales);
                #endregion
                filaL["colCodTipPersonaL"] = codInfPersLegales;
                filaL["colNumIdet"] = Session["colNumIdet"].ToString();
                //------------- -------------------------------------------------------------
            }

            int Estado = new int();
            if (ValiCampLegales(Estado) == 0)
            {
                return;
            }
            QuitarTablaLegales();
            tablaInfPersLegales.Rows.Add(filaL);
            GvgInfPersLegales.DataSource = tablaInfPersLegales;
            GvgInfPersLegales.DataBind();
        }
        protected void GvgInfPersLegales_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.Footer)
            {
                NGenerico objwsGeneric = new NGenerico();
                DropDownList dllGvgTipIdentL;
                dllGvgTipIdentL = (DropDownList)e.Row.FindControl("dllGvgTipIdentL");

                dllGvgTipIdentL.DataSource = objwsGeneric.ListarTip_Iden("1");
                dllGvgTipIdentL.DataTextField = "VTIP_DESCRIPCION_TIPO_IDENTIFICACION";
                dllGvgTipIdentL.DataValueField = "VTIP_CODIGO_TIPO_IDENTIFICACION";
                dllGvgTipIdentL.DataBind();

            }
        }
        #endregion
        #region --- Validar Campos Legales ---
        private int ValiCampLegales(Int32 Estado)
        {
            GridViewRow filaGrillaValL = GvgInfPersLegales.FooterRow;
            string colTipIdentL = ((DropDownList)filaGrillaValL.FindControl("dllGvgTipIdentL")).SelectedValue.ToString();
            string colNumIdentL = ((TextBox)filaGrillaValL.FindControl("txtGvgNumIdentL")).Text.Trim();
            string colApellidosL = ((TextBox)filaGrillaValL.FindControl("txtGvgApellidosL")).Text.Trim();
            string colNombresL = ((TextBox)filaGrillaValL.FindControl("txtGvgNombresL")).Text.Trim();

            if (colTipIdentL == "0")
            {
                EscribirScriptManager("Favor de seleccionar tipo de identidad");
                //lblError.Text = "Favor de seleccionar tipo de identidad";
                //lblError.Visible = true;
                ((DropDownList)filaGrillaValL.FindControl("dllGvgTipIdentL")).Focus();
                return Estado = 0;
            }

            if (colNumIdentL == "")
            {
                EscribirScriptManager("Favor de ingresar número");
                //lblError.Text = "Favor de ingresar numero";
                //lblError.Visible = true;
                ((TextBox)filaGrillaValL.FindControl("txtGvgNumIdentL")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValL.FindControl("txtGvgNumIdentL")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValL.FindControl("txtGvgNumIdentL")).BackColor = Color.White; }

            if (Valida_identidad(Estado, colNumIdentL, colTipIdentL) == 0)
            {
                ((TextBox)filaGrillaValL.FindControl("txtGvgNumIdentL")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValL.FindControl("txtGvgNumIdentL")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValL.FindControl("txtGvgNumIdentL")).BackColor = Color.White; }


            if (colApellidosL.Trim() == "")
            {
                EscribirScriptManager("Favor de ingresar apellido");
                //lblError.Text = "Favor de ingresar apellido";
                //lblError.Visible = true;
                ((TextBox)filaGrillaValL.FindControl("txtGvgApellidosL")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValL.FindControl("txtGvgApellidosL")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValL.FindControl("txtGvgApellidosL")).BackColor = Color.White; }

            if (colNombresL.Trim() == "")
            {
                EscribirScriptManager("Favor de ingresar nombre");
                //lblError.Text = "Favor de ingresar nombre";
                //lblError.Visible = true;
                ((TextBox)filaGrillaValL.FindControl("txtGvgNombresL")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValL.FindControl("txtGvgNombresL")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValL.FindControl("txtGvgNombresL")).BackColor = Color.White; }

            //lblError.Visible = false;
            return Estado = 1;
        }
        #endregion
        #region -- Quitar fila Legales  --
        private void QuitarTablaLegales()
        {
            string celda1;
            celda1 = tablaInfPersLegales.Rows[0].ItemArray[tablaInfPersLegales.Columns["colNumIdentL"].Ordinal].ToString();
            if (celda1 == "")
            {
                tablaInfPersLegales.Rows.RemoveAt(0);
            }

        }
        #endregion
        #region -- Ocultar fila Legales  --
        private void OcultarTablaLegales()
        {
            string celda1;
            celda1 = tablaInfPersLegales.Rows[0].ItemArray[tablaInfPersLegales.Columns["colNumIdentL"].Ordinal].ToString();
            if (celda1 == "")
            {
                GvgInfPersLegales.Rows[0].Visible = false;
            }
        }
        #endregion



        #region --- Session InfPersPersonas ----
        private void session_InfPersPersonas()
        {
            if (Session["tablaInfPersPersonas"] == null)
            {
                Session["tablaInfPersPersonas"] = tablaInfPersPersonas;
                MostrarTabla_InfPersPersonas();
                OcultarTablaPersonas();
            }
            else
            {
                tablaInfPersPersonas = (DataTable)Session["tablaInfPersPersonas"];

            }
        }
        #endregion
        #region -- Tabla Información Persona Personas--
        private void MostrarTabla_InfPersPersonas()
        {
            //------ Creando Colunar para la Tabla ---------------------------
            tablaInfPersPersonas.Columns.Add(new DataColumn("colTipContactoPER", Type.GetType("System.String")));
            tablaInfPersPersonas.Columns.Add(new DataColumn("colTipIdentPER", Type.GetType("System.String")));
            tablaInfPersPersonas.Columns.Add(new DataColumn("colNumIdentPER", Type.GetType("System.String")));
            tablaInfPersPersonas.Columns.Add(new DataColumn("colApellPER", Type.GetType("System.String")));
            tablaInfPersPersonas.Columns.Add(new DataColumn("colNomPER", Type.GetType("System.String")));
            tablaInfPersPersonas.Columns.Add(new DataColumn("colCargoPER", Type.GetType("System.String")));
            tablaInfPersPersonas.Columns.Add(new DataColumn("colTelefPER", Type.GetType("System.String")));
            tablaInfPersPersonas.Columns.Add(new DataColumn("colExtenPER", Type.GetType("System.String")));
            tablaInfPersPersonas.Columns.Add(new DataColumn("colFaxPER", Type.GetType("System.String")));
            tablaInfPersPersonas.Columns.Add(new DataColumn("colExten2PER", Type.GetType("System.String")));
            tablaInfPersPersonas.Columns.Add(new DataColumn("colTipCelularPER", Type.GetType("System.String")));
            tablaInfPersPersonas.Columns.Add(new DataColumn("colNumeroPER", Type.GetType("System.String")));
            tablaInfPersPersonas.Columns.Add(new DataColumn("colEmailPER", Type.GetType("System.String")));
            //------------- -------------------------------------------------------------
            tablaInfPersPersonas.Columns.Add(new DataColumn("colCodTipIdentPER", Type.GetType("System.String")));
            tablaInfPersPersonas.Columns.Add(new DataColumn("colCodTipCelularPER", Type.GetType("System.String")));
            tablaInfPersPersonas.Columns.Add(new DataColumn("colCodTipContactoPER", Type.GetType("System.String")));
            //------------- -------------------------------------------------------------
            tablaInfPersPersonas.Columns.Add(new DataColumn("colCodTipPersonaPER", Type.GetType("System.String")));
            tablaInfPersPersonas.Columns.Add(new DataColumn("colNumIdet", Type.GetType("System.String")));
            //------------- -------------------------------------------------------------
            DataRow filaPER = tablaInfPersPersonas.NewRow();
            tablaInfPersPersonas.Rows.Add(filaPER);
            GvgInfPersPersonas.DataSource = tablaInfPersPersonas;
            GvgInfPersPersonas.DataBind();
            tablaInfPersPersonas.Dispose();
            
        }
        #endregion
        #region -- Personas ----
        protected void btnInfPersPersonas_Click(object sender, EventArgs e)
        {
            GridViewRow filaGrillaPER = GvgInfPersPersonas.FooterRow;
            DataRow filaPER = tablaInfPersPersonas.NewRow();
            if (GvgInfPersPersonas.Rows.Count == 0)
            {
                filaPER["colTipContactoPER"] = "";
                filaPER["colTipIdentPER"] = "";
                filaPER["colNumIdentPER"] = "";
                filaPER["colApellPER"] = "";
                filaPER["colNomPER"] = "";
                filaPER["colCargoPER"] = "";
                filaPER["colTelefPER"] = "";
                filaPER["colExtenPER"] = "";
                filaPER["colFaxPER"] = "";
                filaPER["colExten2PER"] = "";
                filaPER["colTipCelularPER"] = "";
                filaPER["colNumeroPER"] = "";
                filaPER["colEmailPER"] = "";
                //------------- -------------------------------------------------------------
                filaPER["colCodTipIdentPER"] = "";
                filaPER["colCodTipCelularPER"] = "";
                filaPER["colCodTipContactoPER"] = "";
                //------------- --------
                filaPER["colCodTipPersonaPER"] = "";
                filaPER["colNumIdet"] = "";
                //------------- --------
            }
            else
            {
                filaPER["colTipContactoPER"] = ((DropDownList)filaGrillaPER.FindControl("dllGvgTipContactoPER")).SelectedItem.Text;
                filaPER["colTipIdentPER"] = ((DropDownList)filaGrillaPER.FindControl("dllGvgTipIdentPER")).SelectedItem.Text;
                filaPER["colNumIdentPER"] = ((TextBox)filaGrillaPER.FindControl("txtGvgNumIdentPER")).Text.Trim();
                filaPER["colApellPER"] = ((TextBox)filaGrillaPER.FindControl("txtGvgApellPER")).Text.Trim();
                filaPER["colNomPER"] = ((TextBox)filaGrillaPER.FindControl("txtGvgNomPER")).Text.Trim();
                filaPER["colCargoPER"] = ((TextBox)filaGrillaPER.FindControl("txtGvgCargoPER")).Text.Trim();
                filaPER["colTelefPER"] = ((TextBox)filaGrillaPER.FindControl("txtGvgTelefPER")).Text.Trim();
                filaPER["colExtenPER"] = ((TextBox)filaGrillaPER.FindControl("txtGvgExtenPER")).Text.Trim();
                filaPER["colFaxPER"] = ((TextBox)filaGrillaPER.FindControl("txtGvgFaxPER")).Text.Trim();
                filaPER["colExten2PER"] = ((TextBox)filaGrillaPER.FindControl("txtGvgExten2PER")).Text.Trim();
                filaPER["colTipCelularPER"] = ((DropDownList)filaGrillaPER.FindControl("dllGvgTipCelularPER")).SelectedItem.Text;
                filaPER["colNumeroPER"] = ((TextBox)filaGrillaPER.FindControl("txtGvgNumeroPER")).Text.Trim();
                filaPER["colEmailPER"] = ((TextBox)filaGrillaPER.FindControl("txtGvgEmailPER")).Text.Trim();
                //------------- -------------------------------------------------------------
                filaPER["colCodTipIdentPER"] = ((DropDownList)filaGrillaPER.FindControl("dllGvgTipIdentPER")).SelectedValue.ToString();
                filaPER["colCodTipCelularPER"] = ((DropDownList)filaGrillaPER.FindControl("dllGvgTipCelularPER")).SelectedValue.ToString();
                filaPER["colCodTipContactoPER"] = ((DropDownList)filaGrillaPER.FindControl("dllGvgTipContactoPER")).SelectedValue.ToString();
                //------------- -------------------------------------------------------------
                #region -- codigo Mejorar - Codigo generado --
                string codInfPersPersonas;
                codInfPersPersonas = (Constanst.Tipo_PER_Personas);
                #endregion
                filaPER["colCodTipPersonaPER"] = codInfPersPersonas;
                filaPER["colNumIdet"] = Session["colNumIdet"].ToString();
                //------------- -------------------------------------------------------------
            }
            int Estado = new int();
            if (ValiCampPersonas(Estado) == 0)
            {
                return;
            }
            QuitarTablaPersonas();
            tablaInfPersPersonas.Rows.Add(filaPER);
            GvgInfPersPersonas.DataSource = tablaInfPersPersonas;
            GvgInfPersPersonas.DataBind();
        }
        protected void GvgInfPersPersonas_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.Footer)
            {
                NGenerico objwsGeneric = new NGenerico();

                DropDownList dllGvgTipContactoPER;
                dllGvgTipContactoPER = (DropDownList)e.Row.FindControl("dllGvgTipContactoPER");

                dllGvgTipContactoPER.DataSource = objwsGeneric.ListarTipo_Contacto();
                dllGvgTipContactoPER.DataTextField = "VTIP_DESC_TIPO_CONTACTO";
                dllGvgTipContactoPER.DataValueField = "VTIP_CODIGO_TIPO_CONTACTO";
                dllGvgTipContactoPER.DataBind();


                DropDownList dllGvgTipIdentPER;
                dllGvgTipIdentPER = (DropDownList)e.Row.FindControl("dllGvgTipIdentPER");

                dllGvgTipIdentPER.DataSource = objwsGeneric.ListarTip_Iden("1");
                dllGvgTipIdentPER.DataTextField = "VTIP_DESCRIPCION_TIPO_IDENTIFICACION";
                dllGvgTipIdentPER.DataValueField = "VTIP_CODIGO_TIPO_IDENTIFICACION";
                dllGvgTipIdentPER.DataBind();

                DropDownList dllGvgTipCelularPER;
                dllGvgTipCelularPER = (DropDownList)e.Row.FindControl("dllGvgTipCelularPER");

                dllGvgTipCelularPER.DataSource = objwsGeneric.ListarTipo_Celular();
                dllGvgTipCelularPER.DataTextField = "VTIP_DESCRIPCION_TIPO_CELULAR";
                dllGvgTipCelularPER.DataValueField = "VTIP_CODIGO_TIPO_CELULAR";
                dllGvgTipCelularPER.DataBind();

            }
        }
        #endregion
        #region --- Validar Campos Personas ---
        private int ValiCampPersonas(Int32 Estado)
        {
            GridViewRow filaGrillaValPER = GvgInfPersPersonas.FooterRow;
            string colTipContactoPER = ((DropDownList)filaGrillaValPER.FindControl("dllGvgTipContactoPER")).SelectedValue.ToString();
            string colTipIdentPER = ((DropDownList)filaGrillaValPER.FindControl("dllGvgTipIdentPER")).SelectedValue.ToString();
            string colNumIdentPER = ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentPER")).Text.Trim();
            string colApellPER = ((TextBox)filaGrillaValPER.FindControl("txtGvgApellPER")).Text.Trim();
            string colNomPER = ((TextBox)filaGrillaValPER.FindControl("txtGvgNomPER")).Text.Trim();
            string colCargoPER = ((TextBox)filaGrillaValPER.FindControl("txtGvgCargoPER")).Text.Trim();
            string colTelefPER = ((TextBox)filaGrillaValPER.FindControl("txtGvgTelefPER")).Text.Trim();
            string colExtenPER = ((TextBox)filaGrillaValPER.FindControl("txtGvgExtenPER")).Text.Trim();
            string colFaxPER = ((TextBox)filaGrillaValPER.FindControl("txtGvgFaxPER")).Text.Trim();
            string colExten2PER = ((TextBox)filaGrillaValPER.FindControl("txtGvgExten2PER")).Text.Trim();
            string colTipCelularPER = ((DropDownList)filaGrillaValPER.FindControl("dllGvgTipCelularPER")).SelectedValue.ToString();
            string colNumeroPER = ((TextBox)filaGrillaValPER.FindControl("txtGvgNumeroPER")).Text.Trim();
            string colEmailPER = ((TextBox)filaGrillaValPER.FindControl("txtGvgEmailPER")).Text.Trim();

            if (colTipContactoPER == "0")
            {
                EscribirScriptManager("Favor de seleccionar tipo de contacto");
                //lblError.Text = "Favor de seleccionar tipo de contacto";
                //lblError.Visible = true;
                ((DropDownList)filaGrillaValPER.FindControl("dllGvgTipContactoPER")).Focus();
                return Estado = 0;
            }
            if (colTipIdentPER == "0")
            {
                EscribirScriptManager("Favor de seleccionar tipo de identidad");
                //lblError.Text = "Favor de seleccionar tipo de Identidad";
                //lblError.Visible = true;
                ((DropDownList)filaGrillaValPER.FindControl("dllGvgTipIdentPER")).Focus();
                return Estado = 0;
            }

            if (colNumIdentPER.Trim() == "")
            {
                EscribirScriptManager("Favor de ingresar número");
                //lblError.Text = "Favor de ingresar numero";
                //lblError.Visible = true;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentPER")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentPER")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentPER")).BackColor = Color.White; }

            if (Valida_identidad(Estado, colNumIdentPER, colTipIdentPER) == 0)
            {
                ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentPER")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentPER")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentPER")).BackColor = Color.White; }

            if (colApellPER.Trim() == "")
            {
                EscribirScriptManager("Favor de ingresar apellido");
                //lblError.Text = "Favor de ingresar apellidos";
                //lblError.Visible = true;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgApellPER")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgApellPER")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValPER.FindControl("txtGvgApellPER")).BackColor = Color.White; }

            if (colNomPER.Trim() == "")
            {
                EscribirScriptManager("Favor de ingresar nombre");
                //lblError.Text = "Favor de ingresar nombres";
                //lblError.Visible = true;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgNomPER")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgNomPER")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValPER.FindControl("txtGvgNomPER")).BackColor = Color.White; }

            if (colCargoPER.Trim() == "")
            {
                EscribirScriptManager("Favor de ingresar cargo");
                //lblError.Text = "Favor de ingresar cargo";
                //lblError.Visible = true;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgCargoPER")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgCargoPER")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValPER.FindControl("txtGvgCargoPER")).BackColor = Color.White; }


            if (colTelefPER.Trim() == "")
            {
                EscribirScriptManager("Favor de ingresar número");
                //lblError.Text = "Favor de ingresar numero";
                //lblError.Visible = true;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgTelefPER")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgTelefPER")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValPER.FindControl("txtGvgTelefPER")).BackColor = Color.White; }


            if (Valida_identidad(Estado, colTelefPER, "") == 0)
            {
                ((TextBox)filaGrillaValPER.FindControl("txtGvgTelefPER")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgTelefPER")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValPER.FindControl("txtGvgTelefPER")).BackColor = Color.White; }

            if (colTelefPER.Substring(0, 1) == "9") 
            {
                EscribirScriptManager("Formato incorrecto");
                //lblError.Text = "Formato incorrecto";
                //lblError.Visible = true;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgTelefPER")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgTelefPER")).Focus();
                return Estado = 0;
            }

            //if (colExtenPER == "")
            //{
            //    lblError.Text = "Favor de ingresar Extension";
            //    lblError.Visible = true;
            //    ((TextBox)filaGrillaValPER.FindControl("txtGvgExtenPER")).BackColor = Color.Orange;
            //    ((TextBox)filaGrillaValPER.FindControl("txtGvgExtenPER")).Focus();
            //    return Estado = 0;
            //}
            //else { ((TextBox)filaGrillaValPER.FindControl("txtGvgExtenPER")).BackColor = Color.White; }
            if (colExtenPER.Trim() != "")
            {

                if (Valida_identidad(Estado, colExtenPER, "") == 0)
                {
                    ((TextBox)filaGrillaValPER.FindControl("txtGvgExtenPER")).BackColor = Color.Orange;
                    ((TextBox)filaGrillaValPER.FindControl("txtGvgExtenPER")).Focus();
                    return Estado = 0;
                }
                else { ((TextBox)filaGrillaValPER.FindControl("txtGvgExtenPER")).BackColor = Color.White; }
            }

            //if (colFaxPER == "")
            //{
            //    lblError.Text = "Favor de ingresar Fax";
            //    lblError.Visible = true;
            //    ((TextBox)filaGrillaValPER.FindControl("txtGvgFaxPER")).BackColor = Color.Orange;
            //    ((TextBox)filaGrillaValPER.FindControl("txtGvgFaxPER")).Focus();
            //    return Estado = 0;
            //}
            //else { ((TextBox)filaGrillaValPER.FindControl("txtGvgFaxPER")).BackColor = Color.White; }

            if (colFaxPER.Trim() != "")
            {
                if (Valida_identidad(Estado, colFaxPER, "") == 0)
                {
                    ((TextBox)filaGrillaValPER.FindControl("txtGvgFaxPER")).BackColor = Color.Orange;
                    ((TextBox)filaGrillaValPER.FindControl("txtGvgFaxPER")).Focus();
                    return Estado = 0;
                }
                else { ((TextBox)filaGrillaValPER.FindControl("txtGvgFaxPER")).BackColor = Color.White; }
                string codigo2 = colFaxPER.Substring(0, 1);
                if (codigo2 == "9")
                {
                    ((TextBox)filaGrillaValPER.FindControl("txtGvgFaxPER")).BackColor = Color.Orange;
                    ((TextBox)filaGrillaValPER.FindControl("txtGvgFaxPER")).Focus();
                    EscribirScriptManager("Favor de ingresar fax valido");
                    //lblError.Text = "Favor de ingresar numero de fax valido";
                    //lblError.Visible = Visible;
                    return Estado = 0;

                }
                else
                {
                    ((TextBox)filaGrillaValPER.FindControl("txtGvgFaxPER")).BackColor = Color.White;
                }
            }

         
            //if (colExten2PER == "")
            //{
            //    lblError.Text = "Favor de ingresar extension";
            //    lblError.Visible = true;
            //    ((TextBox)filaGrillaValPER.FindControl("txtGvgExten2PER")).BackColor = Color.Orange;
            //    ((TextBox)filaGrillaValPER.FindControl("txtGvgExten2PER")).Focus();
            //    return Estado = 0;
            //}
            //else { ((TextBox)filaGrillaValPER.FindControl("txtGvgExten2PER")).BackColor = Color.White; }

            if (colExten2PER.Trim() != "")
            {
                if (Valida_identidad(Estado, colExten2PER, "") == 0)
                {
                    ((TextBox)filaGrillaValPER.FindControl("txtGvgExten2PER")).BackColor = Color.Orange;
                    ((TextBox)filaGrillaValPER.FindControl("txtGvgExten2PER")).Focus();
                    return Estado = 0;
                }
                else { ((TextBox)filaGrillaValPER.FindControl("txtGvgExten2PER")).BackColor = Color.White; }
            }

            if (colTipCelularPER == "0")
            {
                EscribirScriptManager("Favor de seleccionar tipo de celular");
                //lblError.Text = "Favor de seleccionar tipo de celular";
                //lblError.Visible = true;
                ((DropDownList)filaGrillaValPER.FindControl("dllGvgTipCelularPER")).Focus();
                return Estado = 0;
            }


            if (colNumeroPER.Trim() == "")
            {
                EscribirScriptManager("Favor de ingresar celular");
                //lblError.Text = "Favor de ingresar numero celular";
                //lblError.Visible = true;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgNumeroPER")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgNumeroPER")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValPER.FindControl("txtGvgNumeroPER")).BackColor = Color.White; }

            if (Valida_identidad(Estado, colNumeroPER, "") == 0)
            {
                ((TextBox)filaGrillaValPER.FindControl("txtGvgNumeroPER")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgNumeroPER")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValPER.FindControl("txtGvgNumeroPER")).BackColor = Color.White; }

            if (colNumeroPER.Substring(0, 1) != "9")
            {
                EscribirScriptManager("Formato incorrecto");
                //lblError.Text = "Formato incorrecto";
                //lblError.Visible = true;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgNumeroPER")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgNumeroPER")).Focus();
                return Estado = 0;
            }

            if (colEmailPER.Trim() == "")
            {
                EscribirScriptManager("Favor de ingresar correo electrónico");
                //lblError.Text = "Favor de ingresar correo electrónico";
                //lblError.Visible = true;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgEmailPER")).BackColor = Color.Orange;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgEmailPER")).Focus();
                return Estado = 0;
            }
            else { ((TextBox)filaGrillaValPER.FindControl("txtGvgEmailPER")).BackColor = Color.White; }

            //lblError.Visible = false;
            return Estado = 1;
        }
        #endregion
        #region -- Quitar fila Personas  --
        private void QuitarTablaPersonas()
        {
            string celda1;
            celda1 = tablaInfPersPersonas.Rows[0].ItemArray[tablaInfPersPersonas.Columns["colNumIdentPER"].Ordinal].ToString();
            if (celda1 == "")
            {
                tablaInfPersPersonas.Rows.RemoveAt(0);
            }

        }
        #endregion
        #region -- Ocultar fila Personas  --
        private void OcultarTablaPersonas()
        {
            string celda1;
            celda1 = tablaInfPersPersonas.Rows[0].ItemArray[tablaInfPersPersonas.Columns["colNumIdentPER"].Ordinal].ToString();
            if (celda1 == "")
            {
                GvgInfPersPersonas.Rows[0].Visible = false;
            }
        }
        #endregion

        #region Custom Methods

        private void CrearTabla() 
        {

        }

        #endregion

        protected void btnSiguiente_Click(object sender, EventArgs e)
        {
            Int32 Estado = new Int32();
            if (Validar_TodoGvg(Estado) == 0)
            {
                return;
            }
            //lblError.Visible = false;
            Response.Redirect("wInformacionFinanciera.aspx", true);
        }
        private int Validar_TodoGvg(int EstadoGvg)
        {
            #region -- validar   Gridviews ---

            string celdaInfPersEjecutivo;
            celdaInfPersEjecutivo = tablaInfPersEjecutivo.Rows[0].ItemArray[tablaInfPersEjecutivo.Columns["colNumIdentE"].Ordinal].ToString();
            if (celdaInfPersEjecutivo == "")
            {
                EscribirScriptManager("Favor de ingresar datos");
                //lblError.Text = "Favor de ingresar datos";
                GvgInfPersEjecutivo.Focus();
                //lblError.Visible = Visible;
                return EstadoGvg = 0;
            }
            string celdaInfPersPropietario;
            celdaInfPersPropietario = tablaInfPersPropietario.Rows[0].ItemArray[tablaInfPersPropietario.Columns["colNumIdentP"].Ordinal].ToString();
            if (celdaInfPersPropietario == "")
            {
                EscribirScriptManager("Favor de ingresar datos");
                //lblError.Text = "Favor de ingresar datos ";
                GvgInfPersPropietario.Focus();
                //lblError.Visible = Visible;
                return EstadoGvg = 0;
            }

            //string celdaInfPersLegales;
            //celdaInfPersLegales = tablaInfPersLegales.Rows[0].ItemArray[tablaInfPersLegales.Columns["colNumIdentL"].Ordinal].ToString();
            //if (celdaInfPersLegales == "")
            //{
            //    lblError.Text = "Favor de Ingresar Por lo menos una fila completa con datos validos ";
            //    GvgInfPersLegales.Focus();
            //    lblError.Visible = Visible;
            //    return EstadoGvg = 0;
            //}

            string celdaInfPersPersonas;
            celdaInfPersPersonas = tablaInfPersPersonas.Rows[0].ItemArray[tablaInfPersPersonas.Columns["colNumIdentPER"].Ordinal].ToString();
            if (celdaInfPersPersonas == "")
            {
                EscribirScriptManager("Favor de ingresar datos");
                //lblError.Text = "Favor de ingresar datos ";
                GvgInfPersPersonas.Focus();
                //lblError.Visible = Visible;
                return EstadoGvg = 0;
            }

            #endregion
            lblError.Visible = false;
            return EstadoGvg = 1;
        }

        protected void btnAtras_Click(object sender, EventArgs e)
        {
            Response.Redirect("wReferenciaComercial.aspx", true);
        }

        protected void DllGvgTipIdentE_SelectedIndexChanged(object sender, EventArgs e)
        {

            GridViewRow filaGrillaValPER = GvgInfPersEjecutivo.FooterRow;
            string colTipIdentE = ((DropDownList)filaGrillaValPER.FindControl("DllGvgTipIdentE")).SelectedValue.ToString();

            if (colTipIdentE != "0")
            {
                ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentE")).Enabled = true;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentE")).Text = "";
                if (colTipIdentE == "1")
                {
                    ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentE")).MaxLength = 8;
                    ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentE")).Focus();

                }
                else if (colTipIdentE == "6")
                {
                    ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentE")).MaxLength = 11;
                    ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentE")).Focus();

                }
                else if (colTipIdentE == "4" || colTipIdentE == "7")
                {
                    ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentE")).MaxLength = 15;
                    ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentE")).Focus();

                }
            }
            else { ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentE")).Enabled = false; }
        }
        protected void dllGvgTipIdentP_SelectedIndexChanged(object sender, EventArgs e)
        {
            GridViewRow filaGrillaValP = GvgInfPersPropietario.FooterRow;
            string colTipIdentP = ((DropDownList)filaGrillaValP.FindControl("dllGvgTipIdentP")).SelectedValue.ToString();

            if (colTipIdentP != "0")
            {
                ((TextBox)filaGrillaValP.FindControl("txtGvgNumIdentP")).Enabled = true;
                ((TextBox)filaGrillaValP.FindControl("txtGvgNumIdentP")).Text = "";
                if (colTipIdentP == "1")
                {
                    ((TextBox)filaGrillaValP.FindControl("txtGvgNumIdentP")).MaxLength = 8;
                    ((TextBox)filaGrillaValP.FindControl("txtGvgNumIdentP")).Focus();

                }
                else if (colTipIdentP == "6")
                {
                    ((TextBox)filaGrillaValP.FindControl("txtGvgNumIdentP")).MaxLength = 11;
                    ((TextBox)filaGrillaValP.FindControl("txtGvgNumIdentP")).Focus();

                }
                else if (colTipIdentP == "4" || colTipIdentP == "7")
                {
                    ((TextBox)filaGrillaValP.FindControl("txtGvgNumIdentP")).MaxLength = 15;
                    ((TextBox)filaGrillaValP.FindControl("txtGvgNumIdentP")).Focus();

                }
            }
            else { ((TextBox)filaGrillaValP.FindControl("txtGvgNumIdentP")).Enabled = false; }

        }
        protected void dllGvgTipIdentL_SelectedIndexChanged(object sender, EventArgs e)
        {
            GridViewRow filaGrillaValL = GvgInfPersLegales.FooterRow;
            string colTipIdentL = ((DropDownList)filaGrillaValL.FindControl("dllGvgTipIdentL")).SelectedValue.ToString();

            if (colTipIdentL != "0")
            {
                ((TextBox)filaGrillaValL.FindControl("txtGvgNumIdentL")).Enabled = true;
                ((TextBox)filaGrillaValL.FindControl("txtGvgNumIdentL")).Text = "";
                if (colTipIdentL == "1")
                {
                    ((TextBox)filaGrillaValL.FindControl("txtGvgNumIdentL")).MaxLength = 8;
                    ((TextBox)filaGrillaValL.FindControl("txtGvgNumIdentL")).Focus();

                }
                else if (colTipIdentL == "6")
                {
                    ((TextBox)filaGrillaValL.FindControl("txtGvgNumIdentL")).MaxLength = 11;
                    ((TextBox)filaGrillaValL.FindControl("txtGvgNumIdentL")).Focus();

                }
                else if (colTipIdentL == "4" || colTipIdentL == "7")
                {
                    ((TextBox)filaGrillaValL.FindControl("txtGvgNumIdentL")).MaxLength = 15;
                    ((TextBox)filaGrillaValL.FindControl("txtGvgNumIdentL")).Focus();

                }
            }
            else { ((TextBox)filaGrillaValL.FindControl("txtGvgNumIdentL")).Enabled = false; }
        }
        protected void dllGvgTipIdentPER_SelectedIndexChanged(object sender, EventArgs e)
        {
            GridViewRow filaGrillaValPER = GvgInfPersPersonas.FooterRow;
            string colTipIdentPER = ((DropDownList)filaGrillaValPER.FindControl("dllGvgTipIdentPER")).SelectedValue.ToString();

            if (colTipIdentPER != "0")
            {
                ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentPER")).Enabled = true;
                ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentPER")).Text = "";
                if (colTipIdentPER == "1")
                {
                    ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentPER")).MaxLength = 8;
                    ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentPER")).Focus();

                }
                else if (colTipIdentPER == "6")
                {
                    ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentPER")).MaxLength = 11;
                    ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentPER")).Focus();

                }
                else if (colTipIdentPER == "4" || colTipIdentPER == "7")
                {
                    ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentPER")).MaxLength = 15;
                    ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentPER")).Focus();

                }
            }
            else { ((TextBox)filaGrillaValPER.FindControl("txtGvgNumIdentPER")).Enabled = false; }
        }

        private int Valida_identidad(int estado, string VALOR, string SELECT)
        {

            string ver = "";
            TextBox txtValor = new TextBox();
            txtValor.Text = VALOR;
            string[] words = txtValor.Text.Split('0');
            foreach (string word in words)
            {
                ver = ver + word;

            }

            if (Convert.ToString(ver) == "0" || Convert.ToString(ver) == "")
            {

                return estado = 0;
            }

            string vernum = txtValor.Text.Length.ToString();
            if (SELECT == "1")
            {
                if (vernum != "8")
                {


                    return estado = 0;
                }

            }
            else if (SELECT == "6")
            {
                if (vernum != "11")
                {


                    return estado = 0;
                }

            }
            else if (SELECT == "4" || SELECT == "7")
            {
                if (vernum != "15")
                {
                    return estado = 0;
                }

            }
            return estado = 1;
        }

        protected void GvgInfPersEjecutivo_SelectedIndexChanged(object sender, EventArgs e)
        {
            GridViewRow row = GvgInfPersEjecutivo.SelectedRow;
            String codigo;
            codigo = row.RowIndex.ToString();
            tablaInfPersEjecutivo.Rows.RemoveAt(Convert.ToInt16(codigo));
            if (tablaInfPersEjecutivo.Rows.Count == 0)
            {
                DataRow fila = tablaInfPersEjecutivo.NewRow();
                tablaInfPersEjecutivo.Rows.Add(fila);
            }

            GvgInfPersEjecutivo.DataSource = tablaInfPersEjecutivo;
            GvgInfPersEjecutivo.DataBind();
            OcultarTablaEjecutivo();
        }

        protected void GvgInfPersPropietario_SelectedIndexChanged(object sender, EventArgs e)
        {
            GridViewRow row = GvgInfPersPropietario.SelectedRow;
            String codigo;
            codigo = row.RowIndex.ToString();
            tablaInfPersPropietario.Rows.RemoveAt(Convert.ToInt16(codigo));
            if (tablaInfPersPropietario.Rows.Count == 0)
            {
                DataRow fila = tablaInfPersPropietario.NewRow();
                tablaInfPersPropietario.Rows.Add(fila);
            }
            GvgInfPersPropietario.DataSource = tablaInfPersPropietario;
            GvgInfPersPropietario.DataBind();
            OcultarTablaPropietario();
        }

        protected void GvgInfPersLegales_SelectedIndexChanged(object sender, EventArgs e)
        {
            GridViewRow row = GvgInfPersLegales.SelectedRow;
            String codigo;
            codigo = row.RowIndex.ToString();
            tablaInfPersLegales.Rows.RemoveAt(Convert.ToInt16(codigo));
            if (tablaInfPersLegales.Rows.Count == 0)
            {
                DataRow fila = tablaInfPersLegales.NewRow();
                tablaInfPersLegales.Rows.Add(fila);
            }
            GvgInfPersLegales.DataSource = tablaInfPersLegales;
            GvgInfPersLegales.DataBind();
            OcultarTablaLegales();
        }

        protected void GvgInfPersPersonas_SelectedIndexChanged(object sender, EventArgs e)
        {
            GridViewRow row = GvgInfPersPersonas.SelectedRow;
            String codigo;
            codigo = row.RowIndex.ToString();
            tablaInfPersPersonas.Rows.RemoveAt(Convert.ToInt16(codigo));

            if (tablaInfPersPersonas.Rows.Count == 0)
            {
                DataRow fila = tablaInfPersPersonas.NewRow();
                tablaInfPersPersonas.Rows.Add(fila);
            }
            GvgInfPersPersonas.DataSource = tablaInfPersPersonas;
            GvgInfPersPersonas.DataBind();
            OcultarTablaPersonas();
        }

        protected void btnLimpiar_Click(object sender, EventArgs e)
        {


            for (int i = 0; i != tablaInfPersEjecutivo.Rows.Count; )
            {
                tablaInfPersEjecutivo.Rows.RemoveAt(0);
            }
            if (tablaInfPersEjecutivo.Rows.Count == 0)
            {
              DataRow filaE = tablaInfPersEjecutivo.NewRow();
            tablaInfPersEjecutivo.Rows.Add(filaE);
            }
            
            GvgInfPersEjecutivo.DataSource = tablaInfPersEjecutivo;
            GvgInfPersEjecutivo.DataBind();
            OcultarTablaEjecutivo();

            for (int i = 0; i != tablaInfPersPropietario.Rows.Count; )
            {
                tablaInfPersPropietario.Rows.RemoveAt(0);
            }
            if (tablaInfPersPropietario.Rows.Count == 0)
            {
               DataRow filaP = tablaInfPersPropietario.NewRow();
            tablaInfPersPropietario.Rows.Add(filaP);
            }
            
            GvgInfPersPropietario.DataSource = tablaInfPersPropietario;
            GvgInfPersPropietario.DataBind();
            OcultarTablaPropietario();


            for (int i = 0; i != tablaInfPersLegales.Rows.Count; )
            {
                tablaInfPersLegales.Rows.RemoveAt(0);
            }
            if (tablaInfPersLegales.Rows.Count == 0)
            {
                DataRow filaL = tablaInfPersLegales.NewRow();
            tablaInfPersLegales.Rows.Add(filaL);
            }
            GvgInfPersLegales.DataSource = tablaInfPersLegales;
            GvgInfPersLegales.DataBind();
            tablaInfPersLegales.Dispose();
            OcultarTablaLegales();



            for (int i = 0; i != tablaInfPersPersonas.Rows.Count; )
            {
                tablaInfPersPersonas.Rows.RemoveAt(0);
            }
            if (tablaInfPersPersonas.Rows.Count == 0)
            {
                 DataRow filaPER = tablaInfPersPersonas.NewRow();
            tablaInfPersPersonas.Rows.Add(filaPER);
            }
         
            GvgInfPersPersonas.DataSource = tablaInfPersPersonas;
            GvgInfPersPersonas.DataBind();
            tablaInfPersPersonas.Dispose();
            OcultarTablaPersonas();


        }
  
    }
}